1. Field of the Invention
The present invention relates to an improved data processing system and, in particular, to a method and apparatus for input/output processing. Still more particularly, the present invention provides a method and apparatus for implementing a mechanism for transferred data counting.
2. Description of Related Art
In many computing environments, a client-server arrangement enables clients and servers to have specialized duties. By limiting the variety of computational tasks with which a client or a server is burdened, the client or the server can focus its resources on performing its tasks more efficiently. In particular, servers are usually configured to process large numbers of client transactions or to manage storage on behalf of many clients within a network. Although efficient computational management increases the maximum possible load on a server, its computational resources are not limitless, and typically the load on the server is limited in some manner.
For a variety of reasons, it is often desirable to be able to control the amount of traffic that is initiated by a client application to a server. For example, in order to determine the load performance of a Web server, the Web server may be tested by bombarding it with a large number of Web-based requests over a period of time. The requests can originate from a predetermined number of client processes that simulate the data traffic that the Web server would experience from a large number of Web browser applications. In this scenario, it is important to be able to accurately control the rate of requests that are sent to the Web server, thereby controlling the load that is experienced by the Web server, in order to obtain numerically accurate and meaningful measurements that can be used to predict Web server load characteristics under varying, real-life conditions.
As another example, a communication service provider may sell communication services on a subscription basis in which different charges apply to different subscription service levels. Each subscription service level may limit the number of requests from a subscriber's data device to the communication service provider's server below a certain number of requests per time unit, e.g., one hundred requests per second or one thousand requests per minute, even though the available bandwidth may be much greater. In order to provide accurate service, the communication service provider needs to be able to accurately limit the rate of requests that are transmitted by a subscriber.
Therefore, it would be advantageous to have a methodology for accurately limiting the rate of requests that are transmitted from a client to a server.